package com.sss.hloster0307;

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;

import org.junit.jupiter.api.Test;

public class SteamTestDriver {
/*
 * 使用输入流读取一个文件内容到CPU中，然后使用输出流将内容写出到指定位置的外部文件中
 * 
 */
	@Test
	public void test01() {
		try {
			//创建一个输入流对象
			InputStream is=new FileInputStream("E:\\Download\\streamfiles/in01.txt");
		    //输入流对象
			//构造方法的第二个参数决定写入文件的内容是接着写还是从开头覆盖写；默认为false，从开头覆盖写；true从末位接着写
			OutputStream os=new FileOutputStream("E:\\Download\\streamfiles/in02_out.txt",true);
			//用于读取输入流的字节数组
			byte[] b=new byte[1024];
			//将输入流的内容读取到用于存储的字节数组中
			int len =is.read(b);
			while(len !=-1) {
				//使用输出流输出内容
				System.out.println(new String(b,"gbk"));
				//可以使用String 的构造方法指定编码格式
				os.write(b, 0, len);
				//继续往下读
				len=is.read(b);
			}
			if(is!=null) {
				is.close();
			}
			if(os!=null) {
				os.flush();
				os.close();
			}
			
		} catch (FileNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}catch(IOException e) {
			e.printStackTrace();
		}finally {
			//关闭资源
		}
	}
}
